//package com.bestcem.xm.component.mybatis.typehandler;
//
//import com.alibaba.fastjson.JSONArray;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.ibatis.type.BaseTypeHandler;
//import org.apache.ibatis.type.JdbcType;
//import org.apache.ibatis.type.MappedJdbcTypes;
//import org.apache.ibatis.type.MappedTypes;
//
//import java.sql.CallableStatement;
//import java.sql.PreparedStatement;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//
///**
// * FastJson 实现 JSONArry 字段类型处理器
// *
// * @author been
// * @since 2022-12-01
// */
//@Slf4j
//@MappedTypes(JSONArray.class)
//@MappedJdbcTypes(JdbcType.VARCHAR)
//public class FastJsonArryTypeHandler extends BaseTypeHandler<JSONArray> {
//
//    @Override
//    public void setNonNullParameter(PreparedStatement ps, int i, JSONArray parameter, JdbcType jdbcType)
//            throws SQLException {
//        ps.setString(i, String.valueOf(parameter.toJSONString()));
//    }
//
//    @Override
//    public JSONArray getNullableResult(ResultSet rs, String columnName) throws SQLException {
//        String sqlJson = rs.getString(columnName);
//        if (null != sqlJson) {
//            return JSONArray.parseArray(sqlJson);
//        }
//        return null;
//    }
//
//    @Override
//    public JSONArray getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
//        String sqlJson = rs.getString(columnIndex);
//        if (null != sqlJson) {
//            return JSONArray.parseArray(sqlJson);
//        }
//        return null;
//    }
//
//    @Override
//    public JSONArray getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
//        String sqlJson = cs.getString(columnIndex);
//        if (null != sqlJson) {
//            return JSONArray.parseArray(sqlJson);
//        }
//        return null;
//    }
//}
